﻿using System.Threading;
using System.Threading.Tasks;
using Iot.Shared.Model;
using Mediator;
using Microsoft.Extensions.Logging;

namespace Iot.AlarmDispose;

// 后面这个应该可以和    AlertReceive  合并到一起
public class AlertBusSwitchEvent(ILogger<AlertBusSwitchEvent> logger) : INotificationHandler<SwitchBusModel>
{
    // 实现INotificationHandler<SwitchBusModel>接口的Handle方法
    public ValueTask Handle(SwitchBusModel notification, CancellationToken cancellationToken)
    {
        // 调用_alertBus的Handle方法，传入notification参数
        logger.LogTrace("函数:{函数},开始处理通知{notification}.", nameof(Handle), notification);
        AlertReceive.Handle(notification);
        logger.LogTrace("函数:{函数},通知{notification}设置值成功.", nameof(Handle), notification);
        // 返回一个完成的Task
        return ValueTask.CompletedTask;
    }
}